<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="../tools/bootstrap-3.3.7-dist/css/bootstrap.min.css">
  <link rel="stylesheet" href="../css/base.css">
  <link rel="stylesheet" href="../css/login.css">
  <style>
      body{
        background: url(../message/bj.jpg) no-repeat;
        background-size: 100%;
      }
      .jumbotron{
        width: 600px;
        margin: 120px auto;
        background-color: rgba(255,255,255,.6);
        /* background: blue; */
        
      }
      .form-group{
        padding-left: 120px;
      }

      h1{
        font-size: 20px;
        text-align: center;
      }

      .login{
        margin: 50px auto;
      }
      
      .form-horizontal{
        width: 550px;
        margin: 0 auto;
        /* background: red; */
      }

      .col-sm-10{
        width: 200px;
        /* margin: 0 auto; */
      }

      .inputWidth{
        width: 200px;
        display: inline-block;
      }

      .spanspan{
        /* color: black; */
        font-size: 10px;
      }
      .cover{
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.5);
      }
  </style>
</head>
<body>

    <div class="jumbotron">
      <h1>注册</h1>
      <div class="login">
        <div class="form-horizontal">
          <div class="form-group" >
            <label for="username" class="col-sm-2 control-label" style="width: 100px;">用户名</label>
            <div class="col-sm-10">
              <input name="userName" type="text" class="form-control inputWidth"  placeholder="用户名"><br>
              <span name="nameSpan" class="spanspan"></span>
            </div>
          </div>
          <div class="form-group">
            <label for="password" class="col-sm-2 control-label" style="width: 100px">密码</label>
            <div class="col-sm-10" >
              <input name="pwd1" type="password" class="form-control inputWidth"  placeholder="密码"><br>
              <span class="spanspan"></span>
            </div>
          </div>

          <div class="form-group">
            <label for="password" class="col-sm-2 control-label" style="width: 100px">确认密码</label>
            <div class="col-sm-10">
              <input name="pwd2" type="password" class="form-control inputWidth"  placeholder="确认密码"><br>
              <span name="pwdSpan" class="spanspan"></span>
              
            </div>
          </div>

          <div class="form-group">
            <label for="password" class="col-sm-2 control-label" style="width: 100px">验证码</label>
            <div class="col-sm-10">
              <input name="vc" type="text" class="form-control inputWidth" id="ac" placeholder="验证码"> <a id="sc"></a><br>
              <span name="vcSpan" class="spanspan"></span>
            </div>
          </div>

          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button class="btn btn-default" style="margin-left: 25px;">注册</button>
            </div>
          </div>

          <div name="box"></div>
        </div>
      </div>
    </div>


    <script src="../js/jquery.min.js"></script>
    <script src="../js/tools.js"></script>

    <script>
      // 1,通过tools.js外部文件中的函数方法 生成随机验证码
      // console.log(setVc())
      $('#sc').html(setVc()).click(function(){ $('#sc').html(setVc()) })

      // 2,账号input失去焦点事件
      $('[name="userName"]').blur(function(){
        
        // 获取账号
        let userName = $(this).val();

        // console.log( userName);
        
        // 通过promise完成ajax请求
        const p = new Promise(function(f,r){
          // 发送ajax请求
          $.ajax({
            url:'../server/goods_select.php',
            type:'post',
            data:{userName},
            dataType:'json',
            success: f,
            error: r,
          })
        })

        p.then(res=>{
          // console.log(res);
          // 根据结果动态渲染生成页面
          if(res.result === 1){
            // 用户名可用
            $('[name="nameSpan"]').html('<span style="color:blue">恭喜您，用户名可以使用</span>')
          }else if( res.result === 0){
            // 用户名不可用
            $('[name="nameSpan"]').html('<span style="color:red">您的用户名重复,不可以使用</span>')
          }
        })
      })

      // 3,注册button 添加事件
      $('button').click(function(){

        // 3-1 先获取数据
        // input标签输入的数据
        let name = $('[name="userName"]').val();
        let pwd1 = $('[name="pwd1"]').val();
        let pwd2 = $('[name="pwd2"]').val();
        let vc = $('[name="vc"]').val();
        // 验证码span标签的内容
        let vcStr = $('#sc').html();
        
        // 3-2 验证判断
        // 如果 密码不一致 终止之后程序的执行
        if( pwd1 !== pwd2 ){
          // 给 标签中输入提示信息
          $('[name="pwdSpan"]').html( '<span style="color:red">两次密码不一致</span>' );
          // 终止之后程序的执行
          return;
        }else{
          // 密码一致 错误提示信息清除
          $('[name="pwdSpan"]').html('');
        }

        // 验证码一致 
        // 验证码input的数据 和 验证码span的内容 一致
        // 直接比较 区分 字母的大小写
        // 统一为都是大写/都是小写 不区分 字母的大小写
        // if( vc !== vcStr ){ // 直接比较 区分大小写}

        // console.log( vc.toUpperCase() )
        // console.log( vcStr.toUpperCase() )

        if( vc.toUpperCase() !== vcStr.toUpperCase() ){  // 都统一为大写字母
          // 验证码错误,写入提示信息
          $('[name="vcSpan"]').html('<span style="color:red">验证码错误</span>');
          // 同时 更新验证码
          $('#sc').html( setVc() );
          return;
        }else{
          // 验证码正确,清除错误信息
          $('[name="vcSpan"]').html('<span style="color:blue">验证码正确</span>');
        }

        // 3-3 通过 promise 发送请求
        const p = new Promise(function(f,r){
          $.ajax({
            url:'../server/goods_reg.php',
            type:'post',
            data:{userName:name , userPwd:pwd1},
            dataType:'json',
            success:f,
            error:r,
          })
        })

        p.then(function(res){
          // console.log(res);
          // 根据结果 动态生成页面
          // 5秒 倒计时效果
          // 有一个超链接 点击去 首页面 5秒以后 跳转 登录页面
          $('[name="box"]').html('<span> 恭喜您,注册成功,5秒以后跳转登录页面  <a href="./index.html">点击跳转首页面</a> </span>');
          
          // 5秒 倒计时
          let num = 5;
          let time = setInterval(() => {
            // 变量--
            num--;

            // 判断 如果变量是0 直接跳转 不在输出内容
            if(num === 1){
              // 跳转登录页面
              window.location.href = './login.html';
              return;
            }

            $('[name="box"]').html(`<span> 恭喜您,注册成功,${num}秒以后跳转登录页面  <a href="./index.html">点击跳转首页面</a> </span>`);

          }, 1000);
        
          // 点击一次 刷新一次验证码
          $('#sc').html( setVc() )
        
        })
      })
    </script>
</body>
</html>
